package ar.com.uade.administradorsiembra.modelo.reglas;


/**
 * Clase base para todas las reglas de nogocio del sistema.
 * 
 * @author Dario
 *
 */
public abstract class ReglaNegocio implements Comparable<ReglaNegocio>{
	protected Integer prioridad;
	
	public int posicionEjecucion(){
		return this.prioridad;
	}
	
	protected ReglaNegocio(Integer prioridad){
		this.prioridad = prioridad;
	}
	
	
	public abstract boolean ejecutar(Contexto contexto);
	
	@Override
	public int compareTo(ReglaNegocio o) {
		// TODO Auto-generated method stub
		return o.posicionEjecucion() < this.posicionEjecucion() ? 0 : 1;
	}

}
